python hash algorithm